//创建redux仓库store
import { createStore, applyMiddleware } from "redux"
import { composeWithDevTools } from "redux-devtools-extension"
import thunk from "redux-thunk"
//1.store 

//在createStore中需要传入一个reducer函数

//2.引入reducer
// import BankReducer from "./Reducers/Bank"
// import chatReducer from "./Reducers/Chat"
//引入合并之后最大的reducer
import reducer from "./Reducers"
//一个项目中,createStore只要一个
const store = createStore(reducer, composeWithDevTools(applyMiddleware(thunk)))

//3.state 就是获得某一个时间点的数据的快照 这种集合就叫做state

//通过store.getState() 来获取

// console.log(store.getState())

//4.action Action 是一个对象。其中的`type`属性是必须的，表示 Action 的名称。其他属性可以自由设置。

//5.store.dispatch 是view发出action的唯一方式

//6.Store 允许使用`store.subscribe`方法设置监听函数，一旦 State 发生变化，就自动执行这个函数。

export default store